package Client.PokerClient.src;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/**
 * Listener dla klasy GameWindow.
 * @author Artur Smolibowksi
 */
public class GameListener implements ActionListener {
  /**
   * Referencja do klasy glownej.
   */
  private Client client;
  /**
   * Referencja do klasy nasluchiwanej.
   */
  private GameWindow gameWindow;
  /**
   * Konstruktor klasy.
   * @param client Referencja do klasy glownej.
   * @param gameWindow Referencja do klasy nasluchiwanej.
   */
  GameListener(Client client, GameWindow gameWindow) {
    this.client=client;
    this.gameWindow=gameWindow;
  }
  /**
   * Metoda zajmujaca sie zdarzeniami wystepujacymi w klasie GameWindow.		
   */
  public void actionPerformed(ActionEvent e) {
    if(e.getSource() == gameWindow.getStartGame()) {
      client.getGameThread().getClientGTaskController().G_START();
	}
	if(e.getSource() == gameWindow.getLeaveGame()) {
	  client.getGameThread().getClientGTaskController().G_LEAVE();
	  client.getServerWindow().ChangeWindow();
	}
	if(e.getSource() == gameWindow.getChangeCards()) {
	  client.getGameWindow().getChangeCards().setVisible(false);
	  client.getGameController().G_WYMIANA();
	}
	if(e.getSource() == gameWindow.getNextDeal()) {
	  client.getGameController().G_NEW();
	}
  }
}
